package com.hzlx;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
public class MesMaterialBatchesDto {


    /*
     * MES系统物料批次，用于管理物料批次全流程信息对象 mes_material_batches
     *
     * @author ruoyi
     * @date 2025-07-01
     */
        private static final long serialVersionUID = 1L;

        /** 主键ID，唯一标识物料批次 */
        private Long batchId;

        /** 物料ID，关联物料主表 */
        private Long materialId;

        /** 供应商批次ID，可选的供应商侧批次标识 */
       // @Excel(name = "供应商批次ID，可选的供应商侧批次标识")
        private String supplierBatchId;

        /** 初始数量，物料批次的初始数量 */
       // @Excel(name = "初始数量，物料批次的初始数量")
        private BigDecimal initialQuantity;

        /** 当前数量，物料批次当前剩余数量 */
       // @Excel(name = "当前数量，物料批次当前剩余数量")
        private BigDecimal currentQuantity;

        /** 计量单位，如个、千克等 */
       // @Excel(name = "计量单位，如个、千克等")
        private String unitOfMeasure;

        /** 生产日期，物料的生产时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        //@Excel(name = "生产日期，物料的生产时间", width = 30, dateFormat = "yyyy-MM-dd")
        private Date productionDate;

        /** 过期日期，物料的过期时间 */
        @JsonFormat(pattern = "yyyy-MM-dd")
        //@Excel(name = "过期日期，物料的过期时间", width = 30, dateFormat = "yyyy-MM-dd")
        private Date expirationDate;

        /** 入库时间，默认当前时间，记录物料入库时刻 */
        @JsonFormat(pattern = "yyyy-MM-dd")
       // @Excel(name = "入库时间，默认当前时间，记录物料入库时刻", width = 30, dateFormat = "yyyy-MM-dd")
        private Date inboundTime;

        /** 供应商ID，关联供应商主表 */
        //@Excel(name = "供应商ID，关联供应商主表")
        private String supplierId;

        /** 存储位置ID，关联存储位置主表 */
       // @Excel(name = "存储位置ID，关联存储位置主表")
        private String storageLocationId;

        /** 状态，默认InStock表示在库，可扩展其他状态 */
        //@Excel(name = "状态，默认InStock表示在库，可扩展其他状态")
        private String status;

        /** 创建时间，记录记录创建时刻 */
       @JsonFormat(pattern = "yyyy-MM-dd")
       // @Excel(name = "创建时间，记录记录创建时刻", width = 30, dateFormat = "yyyy-MM-dd")
        private Date createdAt;

        /** 更新时间，记录最后一次更新时刻，数据更新时自动变更 */
        @JsonFormat(pattern = "yyyy-MM-dd")
       // @Excel(name = "更新时间，记录最后一次更新时刻，数据更新时自动变更", width = 30, dateFormat = "yyyy-MM-dd")
        private Date updatedAt;

        /** 计划数量，用于对比创建工单 */
        //@Excel(name = "计划数量，用于对比创建工单")
        private BigDecimal planQuantity;

        public void setBatchId(Long batchId)
        {
            this.batchId = batchId;
        }

        public Long getBatchId()
        {
            return batchId;
        }

        public void setMaterialId(Long materialId)
        {
            this.materialId = materialId;
        }

        public Long getMaterialId()
        {
            return materialId;
        }

        public void setSupplierBatchId(String supplierBatchId)
        {
            this.supplierBatchId = supplierBatchId;
        }

        public String getSupplierBatchId()
        {
            return supplierBatchId;
        }

        public void setInitialQuantity(BigDecimal initialQuantity)
        {
            this.initialQuantity = initialQuantity;
        }

        public BigDecimal getInitialQuantity()
        {
            return initialQuantity;
        }

        public void setCurrentQuantity(BigDecimal currentQuantity)
        {
            this.currentQuantity = currentQuantity;
        }

        public BigDecimal getCurrentQuantity()
        {
            return currentQuantity;
        }

        public void setUnitOfMeasure(String unitOfMeasure)
        {
            this.unitOfMeasure = unitOfMeasure;
        }

        public String getUnitOfMeasure()
        {
            return unitOfMeasure;
        }

        public void setProductionDate(Date productionDate)
        {
            this.productionDate = productionDate;
        }

        public Date getProductionDate()
        {
            return productionDate;
        }

        public void setExpirationDate(Date expirationDate)
        {
            this.expirationDate = expirationDate;
        }

        public Date getExpirationDate()
        {
            return expirationDate;
        }

        public void setInboundTime(Date inboundTime)
        {
            this.inboundTime = inboundTime;
        }

        public Date getInboundTime()
        {
            return inboundTime;
        }

        public void setSupplierId(String supplierId)
        {
            this.supplierId = supplierId;
        }

        public String getSupplierId()
        {
            return supplierId;
        }

        public void setStorageLocationId(String storageLocationId)
        {
            this.storageLocationId = storageLocationId;
        }

        public String getStorageLocationId()
        {
            return storageLocationId;
        }

        public void setStatus(String status)
        {
            this.status = status;
        }

        public String getStatus()
        {
            return status;
        }

        public void setCreatedAt(Date createdAt)
        {
            this.createdAt = createdAt;
        }

        public Date getCreatedAt()
        {
            return createdAt;
        }

        public void setUpdatedAt(Date updatedAt)
        {
            this.updatedAt = updatedAt;
        }

        public Date getUpdatedAt()
        {
            return updatedAt;
        }

        public void setPlanQuantity(BigDecimal planQuantity)
        {
            this.planQuantity = planQuantity;
        }

        public BigDecimal getPlanQuantity()
        {
            return planQuantity;
        }

    }


